package com.yy.wga.order.service.api.request;

import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;

/**
 * description
 *
 * @author <a href="mailto:ludezh@dingtalk.com"> ludezh </a>
 * @version 1.0.0   2021/4/1,14:44
 * @since 1.0.0     2021/4/1,14:44
 */
@Data
public class OrderGetListRequest {
    /**
     * 订单创建时间范围
     */
    @JsonProperty(value = "create_time_range")
    private TimeRange createTimeRange;
    /**
     * 订单更新时间范围
     */
    @JsonProperty(value = "update_time_range")
    private TimeRange updateTimeRange;

    /**
     * 10、待付款 20、待发货（包括部分发货） 21、部分发货 30、待收货 100、完成（包括部分发货）
     * 250、订单取消（包括未付款取消，售后取消等）
     */
    private Integer status;
    /**
     * openid
     */
    private String openid;
    /**
     * 每页数量(不超过100)
     */
    @NotNull
    @JsonProperty(value = "page_size")
    private Integer pageSize;

    /**
     * 由上次请求返回，记录翻页的上下文。传入时会从上次返回的结果往后翻一页，不传默认获取第一页数据。
     */
    @JsonProperty(value = "next_key")
    private String nextKey;

    @Data
    public static class TimeRange {

        /**
         * 秒级时间戳（距离end_time不可超过7天）
         */
        @JsonProperty(value = "start_time")
        private Long startCreateTime;
        /**
         * 秒级时间戳（距离start_time不可超过7天）
         */
        @JsonProperty(value = "end_time")
        private Long endCreateTime;
    }
}
